.\" t
.\" @(#)@PACKAGE@-@VERSION@ @RELDATELONG@
.TH FvwmPager 1 "@RELDATELONG@ (@VERSION@)" Fvwm "Fvwm Modules"
.UC
.SH NAME
FvwmPager \- the Fvwm Pager module
.SH SYNOPSIS
\fBFvwmPager\fP [ \fI-transient\fP ] [ \fIname\fP ] [ \fIfirst desk\fP [ \fIlast desk\fP ] ]
FvwmPager is spawned by fvwm, so no command line invocation will work.

All desks with desk numbers between \fIfirst desk\fP and \fIlast
desk\fP are displayed. If \fIlast desk\fP is omitted only the
\fIfirst desk\fP is shown. If both desk numbers are omitted, the
current desk is used instead. If you use an asterisk '*' in place
of \fIfirst desk\fP the pager will always show the current
desktop, even when you switch desks.

Example lines to put in your .fvwm2rc:

.nf
.sp
Module FvwmPager 0 3
.sp
.fi
or
.nf
.sp
Module FvwmPager *
.sp
.fi
or from within an fvwm pop-up menu:
.nf
.sp
AddToMenu Module-Popup Modules Title
+ Audio        Module FvwmAudio
+ Auto         Module FvwmAuto 200
+ Buttons      Module FvwmButtons
+ Console      Module FvwmConsole
+ Ident        Module FvwmIdent
+ Banner       Module FvwmBanner
+ Pager        Module FvwmPager 0 3
.sp
.fi
or
.nf
.sp
+ Pager        Module FvwmPager *
.sp
.fi

If the pager is started with the \fI-transient\fP option, the next
time a button is released the pager is closed. Note that this
option does only work if the window style of the pager window is 'sticky'
(see the fvwm man page). You should use the 'StaysOnTop'
style too.

Example:

.nf
.sp
Style FvwmPager Sticky, StaysOnTop
*FvwmPager: Rows       1
*FvwmPager: Columns    1
Mouse 3 R C Module FvwmPager -transient
.sp
.fi

With this in your .fvwm2rc, if you press control and button 3 in
the root window the pager pops up under the mouse and while the
viewport moves with the mouse.


.SH DESCRIPTION
The FvwmPager module shows a miniature view of the Fvwm desktops
which are specified in the command line. This is a useful reminder
of where your active windows are. Windows in the pager are shown
in the same color as their fvwm decorations.

The pager can be used to change your viewport into the current
desktop, to change desktops, or to move windows around.

Pressing mouse button 1 in the pager will cause you viewport to
change to the selected page of the selected desk. If you click
with button 1 in the desk-label area, you will switch desks but
not pages within the desk.

Dragging mouse button 2 on a miniature view of a window will cause
that window to be move to the location where you release the mouse
button, but your viewport will not change. If you drag the window
out of the pager and onto your desktop, a full size image of the
window will appear for you to place. There is no way to pick up a
full size image of the window and move it into the pager,
however. Since some mice do not have button 2, I have made
provisions to drag windows in the pager by using pressing
modifier-1 (usually Alt) and dragging with button 3.

Clicking mouse button 3 on a location will cause the viewport to
move to the selected location and switch desks if necessary, but
will not align the viewport to a page boundary. Dragging button 3
will cause the viewport to move as you drag but not switch
desktops, even if the pointer moves to another desktop.

With the \fI*FvwmPager: SloppyFocus\fP option the focus is
transferred to the window pointed at with the mouse when the
pointer is inside the pager.

When iconified, the pager will work as a fully functional current
desk only pager. Windows and viewports can be moved within the
icon of the pager. Users will want to make sure that they have no
lines similar to
.nf
.sp
Icon "Fvwm Pager" whatever
.sp
.fi
in their .fvwm2rc files.


.SH COPYRIGHTS
The FvwmPager program, and the concept for interfacing this module
to the Window Manager, are all original work by Robert Nation.

Copyright 1994, Robert Nation. No guarantees or warranties or
anything are provided or implied in any way whatsoever. Use this
program at your own risk. Permission to use this program for any
purpose is given, as long as the copyright is kept intact.


.SH INITIALIZATION
During initialization, \fIFvwmPager\fP gets config info from
\fBfvwm\fP's module configuration database (see
.IR fvwm (1),
section
.BR "MODULE COMMANDS" ).

To use FvwmPager with several different configurations, you can
invoke FvwmPager with an optional parameter, which it will use as
its \fIname\fP instead (e.g "Module FvwmPager
OtherPager"). OtherPager will then read only the lines in the
configuration file starting with "*OtherPager", and not the lines
belonging to FvwmPager. This way multiple pager instances may be
used.

Note: the old way to use the FvwmPager with several different
configurations is to link the executable to another name, i.e.
.nf
.sp
ln -s FvwmPager OtherPager
.sp
.fi
This may work, but this method is not supported.

.SH KEYBOARD FOCUS CONTROL
You can direct the keyboard focus to any window on the current
desktop by clicking with button 2 on its image in the pager. The
window does not need to be visible, but it does need to be on the
current page.

.SH INVOCATION
The invocation method was shown in the synopsis section

.SH CONFIGURATION OPTIONS
.IP "*FvwmPager: Geometry \fIgeometry\fP"
Completely or partially specifies the pager windows location and
geometry, in standard X11 notation. In order to maintain an
undistorted aspect ratio, you might want to leave out either the
width or height dimension of the geometry specification.

.IP "*FvwmPager: Rows \fIrows\fP"
Tells fvwm how many rows of desks to use when laying out the pager
window.

.IP "*FvwmPager: Columns \fIcolumns\fP"
Tells fvwm how many columns of desks to use when laying out the
pager window.

.IP "*FvwmPager: IconGeometry \fIgeometry\fP"
Specifies a size (optional) and location (optional) for the
pager's icon window. Since there is no easy way for FvwmPager to
determine the height of the icon's label, you will have to make an
allowance for the icon  label height when using negative
y-coordinates in the icon location specification (used to specify
a location relative to the bottom instead of the top of the
screen).

.IP "*FvwmPager: StartIconic"
Causes the pager to start iconified.

.IP "*FvwmPager: NoStartIconic"
Causes the pager to start normally.  Useful for canceling the
effect of the \fIStartIconic\fP option.

.IP "*FvwmPager: LabelsBelow"
Causes the pager to draw desk labels below the corresponding desk.

.IP "*FvwmPager: LabelsAbove"
Causes the pager to draw desk labels above the corresponding
desk. Useful for canceling the effect of the \fILabelsBelow\fP
option.

.IP "*FvwmPager: ShapeLabels"
Causes the pager to hide the labels of all but the current
desk. This turns off label hilighting.

.IP "*FvwmPager: NoShapeLabels"
Causes the pager to show the labels of all visible desks. Useful
for canceling the effect of the \fIShapeLabels\fP option.

.IP "*FvwmPager: Font \fIfont-name\fP"
Specified a font to use to label the desktops.  If \fIfont_name\fP
is "none" then no desktop labels will be displayed.

.IP "*FvwmPager: SmallFont \fIfont-name\fP"
Specified a font to use to label the window names in the pager. If
not specified, the window labels will be omitted. Window labels
seem to be fairly useless for desktop scales of 32 or greater.  If
\fIfont_name\fP is "none" then no window names will be displayed.

.IP "*FvwmPager: Fore \fIcolor\fP"
Specifies the color to use to write the desktop labels, and to
draw the page-grid lines.

.IP "*FvwmPager: Back \fIcolor\fP"
Specifies the background color for the window.

.IP "*FvwmPager: Hilight \fIcolor\fP"
The active page and desk label will be highlighted by using this
background pattern instead of the normal background.

.IP "*FvwmPager: HilightPixmap \fIpixmap\fP"
The active page will be highlighted by using this background
pattern instead of the normal background.

.IP "*FvwmPager: DeskHilight"
Hilight the active page with the current hilight
color/pixmap. Useful for canceling the effect of the
\fINoDeskHilight\fP option.

.IP "*FvwmPager: NoDeskHilight"
Don't hilight the active page.

.IP "*FvwmPager: WindowColors \fIfore back hiFore hiBack\fP"
Change the normal/highlight colors of the windows. \fIfore\fP and
\fIhiFore\fP specify the colors as used for the font inside the
windows. \fIback\fP and \fIhiBack\fP are used to fill the windows
with.

.IP "*FvwmPager: WindowLabelFormat \fIformat\fP"
This specifies a printf() like format for the labels in the mini
window. Possible flags are: %t, %i, %c, and %r for the window's
title, icon title, class, or resource name, respectively.  The default
is "%i".

.IP "*FvwmPager: Label \fIdesk label\fP"
Assigns the text \fIlabel\fP to desk \fIdesk\fP (or the current
desk if desk is "*") in the pager window. Useful for assigning
symbolic names to desktops, i.e.
.nf
.sp
*FvwmPager: Label 1 Mail
*FvwmPager: Label 2 Maker
*FvwmPager: Label * Matlab
.sp
.fi

.BR Note :
There is currently a much better way to specify desk names
globally (and not just in FvwmPager) using
.B DesktopName
command, so you should not use this option anymore.

.IP "*FvwmPager: DeskColor \fIdesk color\fP"
Assigns the color \fIcolor\fP to desk \fIdesk\fP (or the current
desk if desk is "*") in the pager window. This replaces the
background color for the particular \fIdesk\fP.  This only works
when the pager is full sized. When Iconified, the pager uses the
color specified by *FvwmPager: Back.
.sp
\fBTIP:\fP Try using *FvwmPager: DeskColor in conjunction with
FvwmCpp (or FvwmM4) and FvwmBacker to assign identical colors to
your various desktops and the pager representations.

.IP "*FvwmPager: Pixmap \fIpixmap\fP"
Use \fIpixmap\fP as background for the pager.

.IP "*FvwmPager: DeskPixmap \fIdesk pixmap\fP"
Assigns the pixmap \fIcolor\fP to desk \fIdesk\fP (or the current
desk if desk is "*") in the pager window. This replaces the
background pixmap for the particular \fIdesk\fP.
.sp
\fBTIP:\fP Try using *FvwmPager: DeskPixmap in conjunction with
FvwmCpp (or FvwmM4) and FvwmBacker to assign identical pixmaps to
your various desktops and the pager representations.

.IP "*FvwmPager: DeskTopScale \fInumber\fP"
If the geometry is not specified, then a desktop reduction factor
is used to calculate the pager's size. Things in the pager window
are shown at 1/\fInumber\fP of the actual size.

.IP "*FvwmPager: MiniIcons"
Allow the pager to display a window's mini icon in the pager, if
it has one, instead of showing the window's name.

.IP "*FvwmPager: MoveThreshold \fIpixels\fP"
Defines the distance the pointer has to be moved before a window
being dragged with button 2 is actually moved. The default value
is three pixels. If the pointer moved less that this amount the
window snaps back to its original position when the button is
released. If \fIpixels\fP is less than zero the default value is
used. The value set with the \fIMoveThreshold\fP command in fvwm
is inherited by FvwmPager but can be overridden with this option.

.IP "*FvwmPager: SloppyFocus"
If the SloppyFocus option is used, you do not need to click into
the mini window in the pager to give the real window the
focus. Simply putting the pointer over the window inside the pager
is enough.

Note: This option interferes slightly with the MouseFocus and
SloppyFocus styles of fvwm.  Sometimes, if you click into the
pager window to change pages or desks and then move the pointer	to
a place on the screen where a window of the new page will appear,
this new window does not get the input focus.  This may happen if
you drag the pointer over one of the mini windows in the pager.
There is nothing that can be done about this - except not using
SloppyFocus in the pager.

.IP "*FvwmPager: SolidSeparators"
By default the pages of the virtual desktop are separated by
dashed lines in the pager window.  This option causes FvwmPager to
use solid lines instead.

.IP "*FvwmPager: NoSeparators"
Turns off the lines separating the pages of the virtual desktop.

.IP "*FvwmPager: Balloons [\fItype\fP]"
Show a balloon describing the window when the pointer is moved
into a window in the pager. The default format (the window's icon
name) can be changed using BalloonStringFormat. If \fItype\fP is
\fIPager\fP balloons are just shown for an un-iconified pager; if
\fItype\fP is \fIIcon\fP balloons are just shown for an iconified
pager. If \fItype\fP is anything else (or null) balloons are
always shown.

.IP "*FvwmPager: BalloonFore \fIcolor\fP"
Specifies the color for text in the balloon window. If omitted it
defaults to the foreground color for the window being described.

.IP "*FvwmPager: BalloonBack \fIcolor\fP"
Specifies the background color for the balloon window. If omitted
it defaults to the background color for the window being
described.

.IP "*FvwmPager: BalloonFont \fIfont-name\fP"
Specifies a font to use for the balloon text. Defaults to
\fIfixed\fP.

.IP "*FvwmPager: BalloonBorderWidth \fInumber\fP"
Sets the width of the balloon window's border. Defaults to 1.

.IP "*FvwmPager: BalloonBorderColor \fIcolor\fP"
Sets the color of the balloon window's border. Defaults to black.

.IP "*FvwmPager: BalloonYOffset \fInumber\fP"
The balloon window is positioned to be horizontally centered
against the pager window it is describing. The vertical position
may be set as an offset. Negative offsets of \fI-n\fP are placed
\fIn\fP pixels above the pager window, positive offsets of
\fI+n\fP are placed \fIn\fP pixels below. Offsets of -1 and 1
represent the balloon window close to the original window without
a gap. Offsets of 0 are not permitted, as this would permit direct
transit from pager window to balloon window, causing an event
loop. Defaults to +3. The offset will change sign automatically,
as needed, to keep the balloon on the screen.

.IP "*FvwmPager: BalloonStringFormat \fTformat\fP"
The same as \fI*FvwmPager: WindowLabelFormat\fP, it just specifies
the string to display in the balloons. The default is "%i".

.IP "*FvwmPager: Colorset \fIdesk colorset\fP"
Tells the module to use colorset \fIcolorset\fP for \fIdesk\fP. If
you use an asterisk '*' in place of \fIdesk\fP, the colorset is
used on all desks.

.IP "*FvwmPager: BalloonColorset \fIdesk colorset\fP"
Tells the module to use colorset \fIcolorset\fP for balloons on
\fIdesk\fP. If you use an asterisk '*' in place of \fIdesk\fP, the
colorset is used on all desks.

.IP "*FvwmPager: HilightColorset \fIdesk colorset\fP"
Tells the module to use colorset \fIcolorset\fP for hilighting on
\fIdesk\fP. If you use an asterisk '*' in place of \fIdesk\fP, the
colorset is used on all desks.

.IP "*FvwmPager: WindowColorsets \fIcolorset activecolorset\fP"
Uses colorsets in the same way as *FvwmPager: WindowColors.
The shadow and hilight colors of the colorset are only
used for the window borders if the *FvwmPager: Window3DBorders is
specified too.

.IP "*FvwmPager: WindowBorderWidth \fIn\fP"
Specifies the width of the border drawn around the mini
windows. This also sets the minimum size of the mini windows to (2
* \fIn\fP + 1). The default is 1.

.IP "*FvwmPager: Window3DBorders"
Specifies that the mini windows should have a 3d borders based on
the mini window background. This option only works if *FvwmPager:
WindowColorsets is specified.

.IP "*FvwmPager: UseSkipList"
Tells FvwmPager to not show the windows that are using the
WindowListSkip style.

.SH AUTHOR
Robert Nation
.br
DeskColor patch contributed by Alan Wild
.br
MiniIcons & WindowColors patch contributed by Rob Whapham
.br
Balloons patch by Ric Lister <ric@giccs.georgetown.edu>
.br
fvwm-workers: Dominik, Olivier, Hippo and others.
